#ifndef ALBUMDAO_H
#define ALBUMDAO_H

#include <QVector>
#include <vector>
#include <memory>

class QSqlDatabase;
class Album;

class AlbumDao
{
public:
    AlbumDao(QSqlDatabase& database);
    void init() const;

public:
    void add_album(Album& album) const;
    void updateAlbum(const Album& album) const;
    void removeAlbum(int id) const;
    std::unique_ptr<std::vector<std::unique_ptr<Album>>> albums() const;

private:
    QSqlDatabase& m_database;
};

#endif // ALBUMDAO_H
